Added tagged values to attributes based on the class' tagged values
This EAL code will add the tagged value "PrimaryKey" to the attribute on the class that matches the class' primary key (which itself is stored as a tagged value).
TaggedValue.allInstances-> select(tv|tv.Tag='Eco.PrimaryKey')-> collect(tv | tv.ModelElement->safeCast(Class).Feature->filterOnType(Attribute)->select(a|a.TaggedValue->select(atv|(atv.Tag='Eco.ColumnName') and (atv.Value=tv.Value) )->notEmpty)-> collect(pka | if pka.TaggedValue->select(atv| atv.Tag='Eco.ColumnName')->isEmpty then let pktv = TaggedValue.Create in ( pktv.Tag := 'PrimaryKey'; pktv.Value := 'true'; pka.TaggedValue.add(pktv) ); true else false endif ) )
This page was edited more than 1 years ago on 01/09/2024. What links here